package cn.tips.dmp.supports.jpa;

import org.springframework.data.domain.Page;

import java.util.List;

/**
 * @author pkb
 */
public class PageResultGenerator {
    public PageResultGenerator() {
    }

    public static <V, T> PageResultDTO<V> convert(Page<T> page, PageConvertCallBack<V, T> callBack) {
        PageResultDTO<V> pageResultDTO = new PageResultDTO();
        pageResultDTO.setTotal(page.getTotalElements());
        pageResultDTO.setPages(page.getTotalPages());
        List<V> records = callBack.exec(page.getContent());
        pageResultDTO.setRecords(records);
        return pageResultDTO;
    }
}
